#pragma once

#include "VertexArray.h"
/*
 * 主要功能提供系统电脑使用什么渲染api GL  DX VUN
 * */
namespace Hazel {
    class RendererAPI {
    public:
        enum class API {
            None = 0, OpenGL = 1
        };
        virtual void Init() = 0;
        virtual void SetClearColor(const glm::vec4& color) = 0;
        virtual void Clear() = 0;
        virtual void DrawIndexed(const Ref<VertexArray>& vertexArray) = 0;
        inline static API GetAPI() {return s_API;}
        static Scope<RendererAPI> Create();
        virtual void SetViewport(uint32_t x, uint32_t y, uint32_t width, uint32_t height) = 0;


    private:
        static API s_API;
    };
}
